package com.shujia.day18;

import java.sql.*;

public class Demo05MysqlConGetData {
    public static void main(String[] args) throws SQLException, ClassNotFoundException {



        /*
            TODO 1.加载驱动
                Driver类中提供的代码 =>
                static {
                    try {
                        java.sql.DriverManager.registerDriver(new Driver());
                    } catch (SQLException E) {
                        throw new RuntimeException("Can't register driver!");
                    }
                }
                静态代码块 => 当前类被加载的时候就被执行了 => 类加载时，已经给 registerDriver 提供了一个驱动类
                可以在类加载时，就执行static => 反射的方式

         */

        // 不用重复创建
//        DriverManager.registerDriver(new Driver());
        Class.forName("com.mysql.jdbc.Driver");


        /*
            TODO 2.创建连接 -> 通过给定一些URL 用户名 密码 获取数据库连接对象

         */
        Connection connection = DriverManager.getConnection("jdbc:mysql://master:3306/bigdata_30?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai", "root", "123456");

        // TODO 3.获取操作对象  -> 通过操作对象，可以执行SQL等操作
        Statement statement = connection.createStatement();

        // TODO 4.编写SQL并执行
        String sql = "select * from students";
        ResultSet resultSet = statement.executeQuery(sql);

        // TODO 5.如果当SQL有返回结果，那么需要对结果进行遍历
        while (resultSet.next()){
            // resultSet中的位置下标是从1开始 不能给定0
            String id = resultSet.getString(1);
            String name = resultSet.getString(2);
            int age = resultSet.getInt(3);
            String gender = resultSet.getString(4);
            String clazz = resultSet.getString(5);
            System.out.println(id+"\t"+name+"\t"+age+"\t"+gender+"\t"+clazz);
        }

        // TODO 6.对操作对象以及连接进行关闭操作
        statement.close();
        connection.close();


    }
}
